﻿using System;

namespace Morus.Presentation
{
    public interface IMessageBus
    {
        void Publish<TMessage>(TMessage message);

        void Subscribe<TMessage>(Action<TMessage> messageReceivedCallback);

        void Subscribe<TMessage>(Action<TMessage> messageReceivedCallback, Action neverReceivedCallback);
    }
}